package com.bzkj.basicinfo.domain.vo;

import lombok.Data;

import java.util.List;

/**
 * 往来单位对比VO
 * 
 * @author system
 * @date 2025-01-29
 */
@Data
public class CustomerComparisonVo {
    
    /**
     * 码上放心往来单位列表
     */
    private List<MsfxCustomerVo> msfxCustomers;
    
    /**
     * ERP往来单位列表
     */
    private List<ErpCustomerVo> erpCustomers;
    
    /**
     * 码上放心往来单位VO
     */
    @Data
    public static class MsfxCustomerVo {
        /** 客户ID */
        private String customerId;

        /** 客户名称 */
        private String customerName;

        /** 客户关联企业ID */
        private String customerRefEntId;

        /** 区域名称 */
        private String areaName;

        /** 城市名称 */
        private String cityName;

        /** 创建日期 */
        private String crtDate;

        /** 省份名称 */
        private String provName;

        /** 是否网络 */
        private String isNetwork;

        /** 客户编号 */
        private Integer customerNum;

        /** 客户拼音 */
        private String customerSpell;

        /** 企业ID */
        private String entId;

        /** 关联企业ID */
        private String refEntId;

        /** ID */
        private Integer id;

        /** 是否已映射 */
        private Boolean isMapped;

        /** 映射的ERP客户编码 */
        private String mappedErpCode;

        /** 映射的ERP客户名称 */
        private String mappedErpName;

        /** 映射ID */
        private Long mappingId;

        /** 映射关系数量 */
        private Integer mappingCount;

        /** 所有映射关系列表（支持一对多） */
        private java.util.List<MappingInfo> mappingList;
    }

    /**
     * 映射关系信息VO
     */
    @Data
    public static class MappingInfo {
        /** 映射ID */
        private Long mappingId;

        /** ERP客户编码 */
        private String erpCustomerCode;

        /** ERP客户名称 */
        private String erpCustomerName;

        /** ERP单位编号 */
        private String erpDanwbh;

        /** 映射类型：1-手动映射，2-自动匹配 */
        private Integer mappingType;

        /** 创建时间 */
        private java.util.Date createTime;
    }
    
    /**
     * ERP往来单位VO
     */
    @Data
    public static class ErpCustomerVo {
        /** 单位编号 */
        private String danwbh;

        /** 单位名称 */
        private String dwmch;

        /** 助记码 */
        private String zjm;

        /** 客户分类 */
        private String kehufl;

        /** 区域分类 */
        private String quyufl;

        /** 客户类别 */
        private String kehulb;

        /** 是否销售 */
        private String isxs;

        /** 税号 */
        private String shh;

        /** 地址电话 */
        private String dzdh;

        /** 联系人 */
        private String lxr;

        /** 联系人电话 */
        private String lxrdh;

        /** 是否启用 */
        private String is_qy;

        /** 省份 */
        private String shengfen;

        /** 城市 */
        private String city;

        /** 区县 */
        private String quxian;

        /** 是否已映射 */
        private Boolean isMapped;

        /** 映射的码上放心客户ID */
        private String mappedMsfxId;

        /** 映射的码上放心客户名称 */
        private String mappedMsfxName;

        /** 映射ID */
        private Long mappingId;
    }
}
